//
// Created by wkm on 2024-03-31.
//

#ifndef CHIPBUS_NON_BLOCKING_IF_H
#define CHIPBUS_NON_BLOCKING_IF_H


#include "systemc.h"

#include "types.h"

class non_blocking_if : public virtual sc_interface {
public:
    // non-blocking BUS interface
    virtual void read(unsigned int unique_priority, int *data, unsigned int address, bool lock = false) = 0;

    virtual void write(unsigned int unique_priority, int *data, unsigned int address, bool lock = false) = 0;

    virtual status get_status(unsigned int unique_priority) = 0;

};


#endif //CHIPBUS_NON_BLOCKING_IF_H
